import api from './api';

// 我们假设后端获取问题的接口是 GET /api/teacher/questions
// 它可以通过一个 status 查询参数进行过滤，例如 ?status=unanswered

const questionService = {
    /**
     * 根据状态获取问题列表 (例如 'unanswered' 或 'answered')
     * @param {string} status - 要获取的问题的状态
     * @returns {Promise<Array>} 一个解析为问题数组的Promise
     * @throws {Error} 如果API调用失败，则抛出错误
     */
    async getQuestions(status) {
        try {
            console.log(`[QuestionService] 正在获取 ${status} 的问题...`);
            // 将 status 作为 URL 查询参数传递
            const response = await api.get('/api/teacher/questions', { params: { status } });

            if (response.data && response.data.data) {
                console.log(`[QuestionService] 成功获取 ${status} 的问题`);
                return response.data.data;
            } else {
                throw new Error(response.data.message || `获取 ${status} 问题时返回了无效的数据格式`);
            }
        } catch (error) {
            console.error(`[QuestionService] 获取 ${status} 问题失败:`, error);
            const errorMessage = error.response?.data?.message || error.message || `获取 ${status} 问题失败`;
            throw new Error(errorMessage);
        }
    }
};

export default questionService;